FIGS. 1A-G illustrate the test architecture of a conventional 1149.1 TAP. The TAP includes a TAP controller, instruction register, and set of data registers. The set of data registers includes; (1) an internal scan register, (2) an in-circuit emulation (ICE) register, (3) an in-system programming (ISP) register, (4) a boundary scan register, and (5) a bypass register. Of the data registers, the boundary scan register and bypass register are defined by the IEEE 1149.1 standard. The other shown data registers are not defined by 1149.1, but can exist as optional data registers within the data register section of the 1149.1 standard architecture. The TAP controller responds to a protocol input on the TCK and TMS inputs to coordinate serial communication through either the instruction register from TDI 101 to TDO 102, or through a selected one of the data registers from TDI to TDO. The TRST input is used to initialize the TAP to a known state. The operation of the TAP is well known.
FIG. 1B illustrates an IC or intellectual property core circuit incorporating the TAP and its TDI, TDO, TMS, TCK, and TRST interface. A core circuit is a complete circuit function that is embedded within an IC, such as a DSP or CPU. FIGS. 1C-1G illustrate the association between each of the data registers of FIG. 1A and the target circuit they connect to. The data registers are commonly connected at their serial input to TDI 101. The data registers are separately connected at their respective serial outputs 104-108 to associated inputs of multiplexer 103, so that they can be individually selected by an instruction to output data on TDO 102 during a data register scan.
FIG. 2 illustrates the state diagram of the TAP controller of FIG. 1A. The TAP controller is clocked by the TCK input and transitions through the states of FIG. 2 in response to the TMS input. As seen in FIG. 2, the TAP controller state diagram consists of four key state operations, (1) a Reset/RunTest Idle state operation where the TAP controller goes to either enter a reset state, a run test state, or an idle state, (2) a Data or Instruction Scan Select state operation the TAP controller may transition through to select a data register (DR) or instruction register (IR) scan operation, or return to the reset state, (3) a Data Register Scan Protocol state operation where the TAP controller goes when it communicates to a selected data register, and (4) an Instruction Register Scan Protocol state operation where the TAP controller goes when it communicates to the instruction register. The operation of the TAP controller is well known.
FIG. 3A illustrates a conventional internal scan test port interface to an internal scan register. The scan test port includes a scan input (SI), scan output (SO), scan enable (SE), capture select (CS), and clock (CK) inputs. The CK input may be the circuits functional clock or it may be a dedicated test clock input. The SE input is used to place the circuit in a scan test mode. Placing the circuit in a scan test mode may involve conditioning a circuit input for providing the SI input, conditioning a circuit output for providing the SO output, and conditioning a circuit input for the CS input, as indicated by the dashed circles. The SE input may also be used to condition the scan register and logic circuitry such that it operates in a safe mode during the test. For example, it may condition the logic circuit such that no contention occurs between logic outputs during the scan test. In test mode, SI provides the serial input to the internal scan register, SO provides the serial output from the internal scan register, CS provides the control input protocol to cause the internal scan register to capture response data from the logic circuitry then shift data through the scan register from SI to SO to unload the captured response data and load the next stimulus data to be applied to the logic circuitry.
FIG. 3B illustrates an IC or core incorporating the scan test port (STP) of FIG. 3A. For ICs, the SI, SO, and CS signals are typically shared with functional signal pins to save pin count while the SE signal is typically a dedicated IC pin so that it can be accessed to switch the shared pins between their functional and SI, SO, CS test modes. The CK signal may be the ICs functional clock or it may be a dedicated test clock. For cores, the SE, SI, SO, CS, and CK signals may all be dedicated for scan test access since cores typically do not suffer from the pin count problem that ICs do. The role of the SE signal on cores may only be to condition the scan register and logic circuitry for the previously mentioned safe operation during the test, instead of being used to switch inputs and outputs between functional and test mode as mentioned for the IC scan test port SI, SO, and CS signals.
FIG. 3C illustrates an IC or core including both the STP of FIG. 3A and the TAP of FIG. 1A. In FIG. 3C it is seen that the TAP and the STP require different interface signals since their input and output operations are based on different serial interface protocols.
FIG. 4 illustrates a system IC consisting of cores 1-N. Each core includes a TAP interface and a STP interface. The core TAPs are serially connected, via a first scan path wiring bus 410, to allow a tester to access the TAPs of embedded circuits in the cores, such as the embedded target circuits of FIGS. 1C-1F. The STPs are serially connected, via a second scan path wiring bus 420, to allow a tester to access the STPs of embedded internal scan circuitry of the cores, such as the scan circuitry of FIG. 3A. From FIG. 4 it is seen that the system IC requires two test interfaces, one for the core TAPs and another for the core STPs. Further, the IC requires two separate internal scan path wiring buses one scan path wiring bus 410 for the core TAPs and another scan path wiring bus 420 for the core STPs.